package com.hspedu.qqserver.service;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

/**
 * @author 吴宇~
 * @motto 我亦无他，唯手熟尔。
 * @edition jdk1.8
 * @reflection 0-1 喧闹任其喧闹，自由我自为之，我自风情万种，与世无争。
 * @date 2023/03/20/19:55
 */
//该类用于管理和客户端的线程
public class MangerClientThreads {
    private static HashMap<String, ServerConnectClientThread> hm = new HashMap<>();

    public static HashMap<String, ServerConnectClientThread> getHm() {
        return hm;
    }

    //添加线程对象到hm集合
    public static void addClientThread(String userId, ServerConnectClientThread serverConnectClientThread) {
        hm.put(userId, serverConnectClientThread);
    }

    //根据userId返回ServerConnectThread线程
    public static ServerConnectClientThread getServerConnectClientThread(String userId) {
        return hm.get(userId);
    }

    //从集合中移除某个线程对象
    public static void removeServerConnectClientThread(String userId){
        hm.remove(userId);
    }
    //编写一个方法可以返回在线用户列表
    public static String getOnlineUser() {
        //集合的遍历
        //遍历这个Hash的key就行了
        Set<String> strings = hm.keySet();
        Iterator<String> iterator = strings.iterator();
        String onlineUser = "";
        while (iterator.hasNext()) {
            /**
             * 计入这儿帮我不toString的话
             */
            String next = iterator.next();
            onlineUser += next + " ";
        }
        return onlineUser;
    }
}
